# Для новой маркетинговой акции Ксюша придумала провести математическую лотерею. Она загадала натуральное число n и напечатала на билетах пары положительных чисел a, b такие, что a + b =n. Победителем лотереи будет считаться участник, получивший билет с минимальным наименьшим общим кратным (НОК) чисел a и b.
# Ксюша хочет заранее понять, какие подходящие числа a и b можно выбрать, чтобы их НОК было минимально возможным. Поможете ей?
# Формат входных данных
# В единственной строке вводится натуральное число n (2 ≤ n ≤ 10^9) — загаданное Ксюшей число n.
# Формат выходных данных
# Выведите через пробел два числа a и b — искомую пару с минимальным НОК.
# Если подходящих ответов несколько, выведите любой.

num = int(input())
	
def isPrime(num):
    if num % 2 == 0:
        return 2
    d = 3
    while d * d <= num and num % d != 0:
        d += 2
    if num % d == 0:
        	return d
    return num
    
devider = isPrime(num);

if num == 1:
	print(1, 0)
if devider == num and num != 1:
	print(1, int(num - 1))
if devider != num and num != 1:
	print(int(num // devider), int(num - num // devider))
	
